\section*{Abstract}

This report describes the conception, development, and validation of an open-source web project : the creation of a tool to make quotes from our client's products.
Eovi, a mutual insurance company, client of Smile, ordered a project in two parts :
\begin{itemize}
\item a presentation of the company, managed by a \textit{Content Managing System} (CMS) ;
\item a quote maker, under the appearance of forms, for future customers of Eovi.
\end{itemize}

\subsubsection{Development}

I almost totally programmed the quote making part of the project. It contains many elements such as price calculations, PDF generation, configurable elements, and a payment system.

Two main tools were used for the development : eZPublish for content and presentation, Symfony for the creation of forms and quotes. I had to study and use many functionalities of Symfony, and even extend some of them (such as making forms dynamic with AJAX). Another important part was the integration of Symfony inside eZPublish.

Even if the two parts were independent, it is important to save our source files with the correct tool. Subversion (better know as \textit{SVN}), is used in most projects of Smile and allows to store all versions of a project, step of development by step. Thanks to this software and its "branches" system, we were also able to continue development in parallel of test, without having the two part interfering between themselves.

During the test part of the project, another tool have help us communicating with the client : \textit{Redmine}. It allows both sides to open a ticket, change its status, add comments... and help the resolution of problems.

\subsubsection{Conclusion}

One of the main purpose of this project (aside from finishing in time) was to develop a software reusable in a future project with the same client. Eventually, even if it could not be reused, I learnt how to use the main possibilities of Symfony and I started redeveloping it fast enough to provide us a real gain.

\subsection*{Keywords}

Symfony, web development, forms, project management.